APACHE HTTP SERVER

Introducción


El Servidor HTTP Apache, denominado normalmente como Apache, es un servidor web importante por el papel que jugó en el crecimiento inicial de la web. Apache fue la primera alternativa viable al servidor web de Netscape Communications Corporation (conocido actualmente cómo Sun Java System Web Server), y desde entonces evolucionó compitiendo con otros servidores web en funcionalidades y prestaciones.

El nombre del proyecto tiene dos posibles orígenes: en referencia al pueblo indígena americano de los apaches y por el origen del proyecto como conjunto de parches sobre el servidor web NCSA HTTPd 1.3.

La aplicación está disponible para una amplia variedad de sistemas operativos, entre ellos Unix, FreeBSD, Linux, Solaris, Novell NetWare, Mac Los X, Microsoft Windows, Los/2, y eComStation. Gracias a la Licencia Apache, Apache es software libre y software de código abierto.

Desde abril del 1996 Apache es el servidor web más popular de la web. En 2002 parece que se estancó, manteniéndose hasta el día de hoy próximo al 50% de popularidad.



external image netcraft.png


Historia


La primera versión del servidor Apache fue creada por Robert McCool, quien había participado activamente en el servidor web del National Center fuere Supercomputing Applications, conocido como NCSA HTTPd. Cuando Rob dejó la NCSA a mediados del 1994, el desarrollo del servidor web se paralizó, limitándose a conjuntos de parches que circulaban por correo electrónico.

Varios programadores ayudaron a Robert McCool a formar el inicial "Grupo Apache": Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters and Nicolas Pioch.

La versión del servidor Apache 2.x fue una reescritura de gran parte del código de las versiones 1.x, con un hincapié especial en la modularización y el desarrollo de una capa de portabilidades, el denominado Apache Portable Runtime. El núcleo de Apache 2.x tiene muchos avances sustanciales sobre la versión 1.x, entre las que cabe destacar: hilos UNIX, mejor soporte de plataformas no UNIX (cómo Microsoft Windows), una nueva API, y soporte para IPv6. La primera versión alfa de Apache 2 se liberó en marzo del 2000, y la primera versión estable el 6 de abril del 2002.

La versión 2.2 introduce una nueva API de autorización que permite mayor flexibilidad. También incluye módulos de caché mejorados y módulos para hacer de proxy.

Funcionalidades


Apache proporciona un amplio abanico de funcionalidades, muchas de ellas a través de módulos que extienden el núcleo de funcionalidades. Estas funcionalidades abarcan desde programación en el servidor a esquemas de autenticación. Algunas de los lenguajes soportados para la programación en el servidor son: Perl, Python, Tcl y PHP. Los módulos de autenticación más conocidos son mod_access, mod_auth y mod_digest. Otras funcionalidades son soporte de SSL y TLS (mod_ssl), un módulo de servidor proxy, un motor para reescribir URLs (mod_rewrite), archivos de log configurables (mod_log_config), y soporte para filtrado (mod_include y mod_ext_filter).

Los métodos de compresión en Apache permiten reducir el tamaño de las páginas servidas gracias al módulo mod_gzip. Los archivos de log pueden ser analizados a través de un navegador usando herramientas gratuitas como AWStats/W3Perl o Visitors.

El alojamiento virtual permite en una sola instalación de Apache servir varios sitios web.

Apache permite modificar los mensajes de error, autenticación a través de bases de datos y negociación del contenido. También existen diversos programas con interfaces gráficas que permiten una más sencilla configuración del servidor.

Uso


Apache se usa principalmente para servir contenidos estáticos y páginas dinámicas en la web. Muchas aplicaciones web son diseñadas según el entorno y funcionalidades que ofrece Apache.

Apache es el servidor web del entorno de ejecución de aplicaciones webs denominado LAMP, junto con MySQL, y los lenguajes de programación PHP/Perl/Python.

Apache se distribuye cómo parte de varios paquetes de software propietarios entre los que están la base de datos Oracle o el servidor de aplicaciones IBM WebSphere. Mac Los X integra Apache cómo servidor web preinstalado y es lo que proporciona soporte para el servidor de aplicaciones WebObjects. También se usa de alguna manera por Borland en las herramientas de desarrollo de Kylix y Delphi. Apache también se incluye con Novell NetWare 6.5, donde es el servidor web por defecto.

Apache se usa para muchas otras tareas en las que el contenido tiene que estar disponible de una manera segura y fiable. Un ejemplo y la compartición de archivos desde un ordenador personal a través de Internet. Un usuario que tiene Apache instalado en su ordenador puede compartir documentos simplemente poniéndolos en la raíz de los documentos de Apache.

Los programadores que desarrollan aplicaciones web suelen usar un servidor Apache local para poder previsualizar y probar el código a medida que lo van desarrollando.

El servidor web de Microsoft IIS es el mayor competidor de Apache, seguido del servidor web de Sun Microsistems Sun Java System Web Server. Algunos de los sitios webs más visitados en el mundo usan Apache. La página web de búsquedas de Google está basada en una versión modificada de Apache, denominada Google Web Server. Los proyectos de Wikimedia , incluida a Wikipedia también usan servidores web Apache.

Licencia


La licencia software bajo la que a Fundación Apache distribuye software tuvo mucha importancia en la comunidad del software de código abierto. La Licencia Apache permite distribuir tanto software libre cómo derivados privativos del código fuente.

La Frene Software Foundation no considera la Licencia Apache compatible con la versión 2 de la [GPL], y el software distribuido bajo la Licencia Apache no puede ser integrado con software que usa la licencia GPL. Por el contrario, la versión 3 de la GPL incluye una cláusula (7y) que permite la compatibilidad con la Licencia Apache.

El nombre Apache es una marca registrada, y pode ser sólo usada con el permiso expreso de su poseedor.